/*
 * F_Caches.h
 *
 *  Created on: 16/11/2011
 *      Author: utn_so
 */

#ifndef F_CACHES_H_
#define F_CACHES_H_

void crearCache(const char * path);

tNodoCache * conseguirCache(const char * path);

uint32_t agregarBloqueCache(tNodoCache * nodoCache,uint32_t nroBloque,tBloque contenidoBloque,uint8_t modificado);

uint32_t borrarBloqueCache(tNodoCache * nodoCache);

uint32_t leerBloqueCache(tNodoCache * nodoCache,uint32_t nroBloque,tBloque * contenidoBloque);

uint32_t escribirBloqueCache(tNodoCache * nodoCache,uint32_t nroBloque,tBloque * contenidoBloque);

void crearArchCache();

uint32_t pedirLecturaClusterArchs(const char * path,uint32_t nroBloque, tBloque * contenidoBloque);

uint32_t pedirEscrituraClusterArchs(const char * path,uint32_t nroBloque, tBloque * contenidoBloque);

uint32_t agregarEntradasDirCache(const char * path, tDirectoryEntries * entradas);

uint32_t leerEntradaDirCache(const char * path, tDirectoryEntries * entradas);

uint32_t borrarUnaEntradaDirCache();

uint32_t borrarEntradaDirCache(const char * path);

//uint32_t pedirLecturaClusterArchs(const char * path,uint32_t nroCluster, tCluster * contenidoCluster);

//uint32_t pedirEscrituraClusterArchs(const char * path,uint32_t nroCluster, tCluster * contenidoCluster);


#endif
